#ifndef GAMESTATE_H
#define GAMESTATE_H

#include <gui/state.h>

class Game;
class KeyManager;
class GameScene;
class StateManager;

class GameState : public State
{
    Q_OBJECT;
public:
    GameState(StateManager *stateManager, KeyManager *keyManager, QObject *parent = 0);

    void added();
    void deleted();
    void covered();
    void returned();

    Game *getGame();

    PaintScene *getScene() const;

private slots:
    void refresh();
    void pause();
    void close();

private:
    Game *myGame;
    KeyManager *myKeyManager;
    StateManager *myStateManager;
    GameScene *myScene;
};

#endif // GAMESTATE_H
